package com.aigou.admin.aigouspringboot.service;

import com.aigou.admin.aigouspringboot.entity.Product;
import com.aigou.admin.aigouspringboot.entity.dto.ProductQueryDTO;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @Author Mr.LiFuXing
 * @Date 2024/12/10 20:20
 * @Title ProductService
 * @Package com.aigou.admin.aigouspringboot.service
 */
public interface ProductService {

    // 查询所有产品信息
    List<Product> selectAll();

    // 分页查询产品列表，参数current表示当前页码，返回包含产品列表的分页信息对象
    PageInfo<Product> selectProductListByPage(Integer current, ProductQueryDTO productQueryDTO);

    // 根据产品id删除产品信息，返回受影响的行数，成功删除通常返回1
    int deleteById(String id);

    // 根据产品id查询对应的产品信息，返回相应的产品对象
    Product selectById(String id);

    // 编辑产品信息，传入包含修改后数据的产品对象，返回受影响的行数，成功修改通常返回1
    int edit(Product product);

    // 新增产品信息，传入要添加的产品对象，返回受影响的行数，成功添加通常返回1
    int save(Product product);

    List<Product> selectAllByProductType();

    List<Product> selectAllByProductTypeFuShi();

    List<Product> selectAllByProductTypeMeiZhuang();

    List<Product> selectAllByProductTypeBook();

    //根据商品类型id查询所有商品信息
    List<Product> selectProductByProductTypeID(String productTypeID);

    List<Product> selectByTime();
}